
README for Linux SVGALib Quake
------------------------------

Requirements:

- SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers.  USSLite 3.5.4 was used to build squake
  with.  Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
  squake).
- Kernel 2.0.24 or later
  - untested with 2.1 kernels, your mileage may vary

Here's the release you've been waiting for.  Linux squake supports
320x200x256, the various modeX modes (320x400, 360x400, etc) as well as high
res modes if your card is supported by SVGALib.  Use the Quake console command
vid_describemodes to list supported modes and the command vid_mode <number> to
change modes.

Full sound support is included.  The default sound rate is 16-bit stereo,
11KHz.  You can change this in the options section below.

Mouse works great, but SVGALib may not detect a 3-button mouse properly (it
will only use two buttons).  Check your /etc/libvga.config (or
/etc/vga/libvga.config for SlackWare users).

**Version 1.1 fixes some crash bugs with the mission packs.

New Command Line Options for Linux SVGAlib Quake
------------------------------------------------

-mem <mb>
Specify memory in megabytes to allocate (default is 8MB, which should be fine
for most needs).

-nostdout
Don't do any output to stdout

-mdev <device>
Mouse device, default is /dev/mouse

-mrate <speed>
Mouse baud rate, default is 1200

-cddev <device>
CD device, default is /dev/cdrom

-mode <modenum>
Use indicated video mode

-nokdb
Don't initialize keyboard

-sndbits <8 or 16>
Set sound bit sample size.  Default is 16 if supported.

-sndspeed <speed>
Set sound speed.  Usual values are 8000, 11025, 22051 and 44100.
Default is 11025.

-sndmono
Set mono sound

-sndstereo
Set stereo sound (default if supported)

Installation
------------

Boot DOS (I know, but you need it to run the Quake install program) and
install Quake from your Quake CD to a DOS parition.

Boot Linux and make a directory for Quake.  Copy everything from the DOS Quake
directory into it.  i.e.:
	(cd /dos/quake; tar cf - .) | (cd ~/quake; tar xf -)

Place squake into your Quake directory.  You must make it setuid root (since
Quake access stuff like direct video writes, the raw keyboard mode, CD, etc).
Quake will setuid back to the normal user as soon as it opens these files.
Make Quake suid root as follows:
	chown root squake
	chmod 4755 squake

Run squake.  I don't recommend running it as root, since all the saved
config.cfg files will be then owned as root.  Use your normal account, unless
you do everything as root, then your mileage will vary.

squake may segfault if it tries to initialize your sound card and their isn't
one.  Same with the CDROM.  If it dies, try it with -nosound and/or
-nocdaudio.  If you have a sound card it died on and you know it is
supported by USSLite (the driver that comes with the Linux kernel), let me
know and I'll take a look at it.

It should work with SCSI CDROMs, but is untested.

Full TCP/IP network support is in, including listen and dedicated server
modes.  squake makes a nice dedicated server as you don't need the X11
libraries kicking around.

All of the options described in TECHINFO.TXT and MANUAL.TXT from the Quake
distribution will work, 'cept for stuff with vid modes and stuff.

End Notes
---------

Linux SVGALib Quake is *NOT* an officially supported product.  Mail about it
will be deleted.  Do not email id about this product.  If you are having
technical difficultly, you can email me, but make sure you have the correct
kernel, libc, svgalib and other software versions before you email me.

Dave 'Zoid' Kirsch
zoid@threewave.com
Official Quake Unix Port Administrator

Acks
----

Greg Alexander <galexand@sietch.bloomington.in.us> for initial work in SVGALib
support.
Dave Taylor <ddt@crack.com> for basic Linux support.
id Software for Quake and making me port it. :)

Lots of people on #linux, #quake for testing.

